export interface IProjectState {
  projectNames: Set<string>
  projects: IProjectItemState[]
  projectModules: Map<string, IProjectModuleState[]>
}

export interface IProjectItemState {
  name: string
  inputUrl: string
  outputUrl: string
  arVersion: string
  projectModules: IProjectModuleState[]
}

export interface IProjectModuleState {
  name: string
  moduleId: string
}

export interface IProjectsTreeState {
  id?: string
  label: string
  icon?: string
  path?: string
  level: number
  isLeaf: boolean
  arVersion?: string
  inputUrl?: string
  outputUrl?: string
  children?: IProjectsTreeState[]
}
